﻿<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>WinExe</OutputType>
        <Nullable>enable</Nullable>
        <TargetFramework>net8.0</TargetFramework>
        <!--Avalonia doesen't support TrimMode=link currently,but we are working on that https://github.com/AvaloniaUI/Avalonia/issues/6892 -->
        <TrimMode>copyused</TrimMode>
        <LangVersion>latest</LangVersion>
        <Nullable>enable</Nullable>
        <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
    </PropertyGroup>

    <ItemGroup>
        <TrimmerRootDescriptor Include="Roots.xml" />
    </ItemGroup>

    <ItemGroup>
        <!--This helps with theme dll-s trimming.
        If you will publish your application in self-contained mode with p:PublishTrimmed=true and it will use Fluent theme Default theme will be trimmed from the output and vice versa.
        https://github.com/AvaloniaUI/Avalonia/issues/5593 -->
        <TrimmableAssembly Include="Avalonia.Themes.Fluent" />
    </ItemGroup>

    <ItemGroup>
        <AvaloniaResource Include="Assets\**" />
        <None Update="appsettings.json">
           <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </None>
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="Avalonia" />
        <PackageReference Include="Avalonia.Desktop" />
        <PackageReference Include="Avalonia.Diagnostics" />
        <PackageReference Include="Avalonia.Fonts.Inter" />
        <PackageReference Include="Avalonia.ReactiveUI" />
        <PackageReference Include="Avalonia.Skia" />
        <PackageReference Include="Avalonia.ThemeManager"/>
        <PackageReference Include="Avalonia.Themes.Fluent"/>
        <PackageReference Include="DynamicData" />
        <PackageReference Include="DynamicData.ReactiveUI" />
        <PackageReference Include="Microsoft.Extensions.Caching.Memory" />
        <PackageReference Include="Microsoft.Extensions.Configuration" />
        <PackageReference Include="Microsoft.Extensions.Configuration.Json" />
        <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" />
        <PackageReference Include="Microsoft.Extensions.DependencyInjection" />
        <PackageReference Include="Microsoft.Extensions.Hosting" />
        <PackageReference Include="Microsoft.Extensions.Localization" />
        <PackageReference Include="Microsoft.Extensions.Logging" />
        <PackageReference Include="Microsoft.Extensions.Logging.Console" />
        <PackageReference Include="Microsoft.Extensions.ObjectPool" />
        <PackageReference Include="Microsoft.Extensions.Options" />
        <PackageReference Include="ReactiveHistory" />
        <PackageReference Include="ReactiveUI" />
        <PackageReference Include="ReactiveUI.Fody" />
    </ItemGroup>

    <ItemGroup>
      <ProjectReference Include="..\..\Libs\AM.Avalonia\AM.Avalonia.csproj" />
    </ItemGroup>

</Project>
